package api_.object_;

import java.util.Objects;

public class Point
{
    public static void main(String[] args)
    {
        Point point = new Point();
        point.setX(1);
        point.setY(2);
        System.out.println(point.hashCode());
        System.out.println(point);
        // 默认的toString输出地址  重写后输出自定义的内容
        System.out.println(point.toString());
    }
    private int x;
    private int y;

    public int getX()
    {
        return x;
    }

    public void setX(int x)
    {
        this.x = x;
    }

    public int getY()
    {
        return y;
    }

    public void setY(int y)
    {
        this.y = y;
    }

    @Override
    public String toString()
    {
        x++;
        y++;
        return "Point{" +
                "x=" + x +
                ", y=" + y +
                '}';
    }

    @Override
    public boolean equals(Object o)
    {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        Point point = (Point) o;
        return x == point.x && y == point.y;
    }

    @Override
    public int hashCode()
    {
        return Objects.hash(x, y);
    }

    public Point()
    {
    }

    public Point(int x, int y)
    {
        this.x = x;
        this.y = y;
    }
}